package javase.module2.task05;

public class AnonymousInterfaceTest {
    // 假设已有下面的方法,请问如何调用下面的方法
    public static void test(AnonymousInterface ai) {
        ai.show();
    }


    public static void main(String[] args) {
        //AnonymousInterfaceTest.test(new AnonymousInterface()); //不能直接实例化接口类，必须先将接口实现，在调用实现类
        AnonymousInterfaceTest.test(new AnonymousInit());
        System.out.println("-------------------------------");
        // 使用匿名内部类的语法格式来得到接口类型的引用
        AnonymousInterfaceTest.test(new AnonymousInterface() {
            @Override
            public void show() {
                System.out.println("匿名内部类重写方法");
            }
        });
        // lamda表达式简化版，格式为：(参数列表) -> {方法体}
        AnonymousInterface ait = () -> System.out.println("lamda表达式简化版");
        AnonymousInterfaceTest.test(ait);
    }
}
